(遅延)対話型ハンドシェイクパターン - Noise Protocol Framework (8)
基本的ハンドシェイクパターンでは、認証のためのDHの操作("es"と"se")は可能な限り早く実行しています。
これらの基本的パターンに加えて、「遅延」ハンドシェイクパターンも考えられています。「遅延」ハンドシェイクパターンは鍵を受信したあと、すぐにDHによる鍵交換を行うのではなく1操作遅らせてDH操作を行います。
DH操作を遅らせる利点は主に以下の3点あります。
イニシエーターはレスポンダの静的公開鍵を事前に知っていたとしても、0-RTTで暗号化されたデータを送信したくない場合があります。
場合によっては、認証を遅らせることで、ハンドシェイクのアイデンティティを隠す特性を向上させることができます。
将来的にNoise Protocolを拡張して、DH操作を署名かKEM暗号文で取り替えることができるかもしれません。しかし送信者が彼ら自身を認証している(署名)か送信者が受信者を認証している(KEM)場合にだけそうすることができます。すべての基本ハンドシェイクパターンでは、各認証DHを署名またはKEM暗号文のいずれか一方に置き換えることしかできませんが、遅延された方法では両方の置き換えが可能です。
遅延ハンドシェイクパターンはパターン名の1文字目または2文字目の後に数字"1"を付加します。
遅延パターンの例
以下は基本パターンであるNKとそれを遅延したNK1パターンのメッセージパターンを示したものです。
NK:
<- s
...
-> e, es
<- e, ee
NK1:
<- s
...
-> e
<- e, ee, es